//package com.yy.studyspringboot.rabbitmq.demo1简单示例;
//
//import com.rabbitmq.client.BuiltinExchangeType;
//import com.rabbitmq.client.Channel;
//import com.rabbitmq.client.Connection;
//import com.rabbitmq.client.ConnectionFactory;
//
//public class HelloProducer {
//
//    /**
//     * 生产者
//     */
//    public static void main(String[] args) throws Exception{
//        // 获取连接工厂
//        ConnectionFactory factory = new ConnectionFactory();
//
////        factory.setUri("amqp://admin:admin@47.108.192.246:5672/%2f");  //也可以像下面那样拆开写
//        // 设置主机名 hostname
//        factory.setHost("47.108.192.246");
//        // 设置虚拟主机名称  /在url中的转义字符 %2f
//        factory.setVirtualHost("/");
//        // 用户名
//        factory.setUsername("admin");
//        // 密码
//        factory.setPassword("admin");
//        // amqp的端口号
//        factory.setPort(5672);
//
//        // 建立TCP连接
//        Connection connection = factory.newConnection();
//        // 获取通道
//        Channel channel = connection.createChannel();
//
//        //申请队列 queue 声明消息队列名称  durable是否是持久化的 exclusive是否是排他的 autoDelete是否是自动删除的 arguments消息队列的属性信息。使用默认值；
//        channel.queueDeclare("queue.biz", false, false, true, null);
//        //申明交换机 exchange声明交换器名称 type交换器的类型 durable交换器是否是持久化的 autoDelete交换器是否是自动删除的 arguments交换器的属性map集合
//        channel.exchangeDeclare("ex.biz", BuiltinExchangeType.DIRECT, false, false, null);
//        //将交换器和消息队列绑定，并指定路由键  queue exchange routingKey
//        channel.queueBind("queue.biz", "ex.biz", "hello.world");
//        // 发送消息  exchange交换器的名字 routingKey该消息的路由键 props该消息的属性BasicProperties对象 body消息的字节数组
//        channel.basicPublish("ex.biz", "hello.world", null, "hello world 2".getBytes());
//
//        // 关闭通道
//        channel.close();
//        // 关闭连接
//        connection.close();
//    }
//}
